﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Linq;

using System.Web.Mvc;

namespace $safeprojectname$
{
    /// <summary>
    ///     Contract granting access to Model and Context
    ///     (e.g. AOP filters can try cast any controller to ICoreController)
    /// </summary>
    public interface ICoreController<out TModel> : IService, IController, IPublishingReporter, IMessagesHolder
        where TModel : class, ICoreModel
    {
        TModel Model { get; }
        ControllerContext ControllerContext { get; }
    }
}